Generic Hardcoded Version Byte Patcher
by HBR AKA _-=])rea[)=-_

~~Updates in 1.2~~
-Added support for 16 and 32bit pointers (MOV8, MOV16, MOV32)
-Locks controls during scans so you don't mess it up by accident

~~Updates in 1.1~~
-Added compatibility with PUSH*, ASCII, and UNICODE
-Program is now compatible with zDS (PUSH32), Titan floodbot (UNICODE), and many more


~~Description~~


This is a generic patcher which means that it can patch just about any B.net bot's
version byte, but might not work in every single situation. If a bot you have is not
compatible with this software, feel free to inform me about it by posting on my
forum.

To use this patch, drag the bot that need to be patched into the list (big blank
space at the top), then enter the old version byte (the other 2 settings are for
more advanced users, but feel free to play around with them), and click on
"Scan". If results are found then select the results to patch by selecting them.
Then enter the new version byte and click on "Patch Selected" and it should be
patched properly. If no results are found then you either entered the wrong
version byte for the bot you are trying to patch or the bot is not compatible with
this software. If you have trouble using this patcher then feel free to ask others
by posting on our forum.

~~Result types~~
MOV: A value that corresponds to the version byte seems to be moved
into a variable to be stored there. Most VB bots do this;

PUSH8, PUSH16, PUSH32: A value is passed on directly into a function
and it analysed by that function. This rarely happens to VB bots, but
can happen with non-VB bots like zDS. Note that PUSH16 RARELY pushes
the version byte so only concider patching PUSH16 if you're out of
options.

ASCII, UNICODE: The value of the version byte is hardcoded as a string
within the bot. This rarely happens, but Titan floodbot uses this.


~~Advanced options~~
These options only affect MOV types.

"Byte Size":
Determines the size that the version byte occupies. IN GENERAL they
occupy 4 bytes (DWORD), but in some cases they can occupy less.
Setting the "byte size" higher helps you get (in general) better
results (less "spam").


Location where version byte is stored (pointer):
IN GENERAL the version byte is stored in SS:[EBP-14], but not always.
If you have no idea what this option is for then I recommend you choose
"Any pointer (recommended)".


Both options above help you find the correct location where the
version byte is set. If you are not sure about which locations are
correct, just keep in mind that IN GENERAL, a version byte is set only
once per client (meaning that if the bot supports STAR and SEXP then
it MIGHT have 2 version bytes which are the same). So if 10 matches
are found then you know that not all of them are right. If you have
trouble finding the right locations to patch then post on our forum
at http://www.fallinghigher.com/forum/